package com.wmh.baseservice.common.utils;

import java.util.regex.Pattern;

public class VerifyUtil {

    /**
     * 校验金额格式
     * @param content
     * @return
     */
    public static boolean verifyMoney(String content){
        return verify("^\\d+(\\.\\d{1,2})?$", content);
    }

    /**
     * 校验手机号码
     * @return
     */
    public static boolean verifyPhone(String content){
        if (null == content || "".equals(content) || content.length() != 11) {
            return false;
        }
        return verify("^1[3-9]\\d{9}$", content);
    }

    /**
     * 校验身份证 第一代与第二代
     */
    public static boolean verifyIdCard(String content){
        return verify("(^\\d{8}(0\\d|10|11|12)([0-2]\\d|30|31)\\d{3}$)|(^\\d{6}(18|19|20)\\d{2}(0\\d|10|11|12)([0-2]\\d|30|31)\\d{3}(\\d|X|x)$)", content);
    }

    /**
     * 校验整数
     * @return
     */
    public static boolean verifyInteger(String content){
        return verify("^[-\\+]?[\\d]*$", content);
    }

    /**
     * 校验数值
     * @return
     */
    public static boolean verifyNumber(String content){
        return verify("^-[0-9]+(.[0-9]+)?|[0-9]+(.[0-9]+)?$", content);
    }

    /**
     * 自定义校验
     * @param regex 正则表达式字符串
     * @param content 校验的内容
     * @return
     */
    public static boolean verify(String regex, String content){
        Pattern pattern = Pattern.compile(regex);
        if (!pattern.matcher(content).matches()) {
            return false;
        }
        return true;
    }
}
